The field of the invention relates to telephony systems and more particularly to automatic call distributors used with private networks.
Automatic call distribution systems are known. Such systems are typically used in an organizational context as a means of distributing telephone calls among a group of agents of the organization. Agents are typically segregated into groups to serve particular call targets within an organization.
Often the organization disseminates a single telephone number to its customers and to the public in general as a means of contacting the organization. As calls are directed to the organization from the public switch telephone network (PSTN), the automatic call distribution system directs the calls to its agents based upon some algorithm, typically based upon availability. For example, where all agents are considered equal, the automatic call distributor (ACD) may distribute the calls based upon which agent position (telephone) has been idle the longest.
In other systems, where skill is considered essential for call handling, a call may be directed to an agent or group of agents considered the most skilled for the call considered. In these systems, a database of customer records is often maintained. Customers are identified to the ACD and database by features such as automatic number identifier (ANI).
In order to staff an ACD, an organization often relies on historical levels (in Erlangs) of incoming calls to the individual call targets. A manager of the ACD may examine the historical call loading records, add or subtract a percentage of the historical loading based upon a most recent call history (e.g., the most recent week or month), and estimate a staffing level based upon those calculations. Alternatively, some organizations have relied upon commercially available predictive software (i.e., force management packages) which calculates daily staffing levels based upon historic information.
Once daily staffing levels have been estimated, agents are scheduled based upon those estimates. Where more than one organizational call target is involved (e.g., sales agents, service agents, outgoing call campaign agents, etc.), requiring different agent skills, each group is separately staffed based upon an Erlang estimate for that group.
As an alternative to staffing individual groups, some systems group all agents together and assign a skill rating to each agent. Calls are then assigned based upon the skill rating of the agent for handling that type of call.
For example, where a single group is used, an ACD will always look for and assign the call to the most qualified agent. However, some agents are more qualified than others. Because of the differences in qualifications, some agents receive more calls than others, resulting in an inequitable work load.
Further, where all agents are grouped together, an Erlang rate for any one group becomes irrelevant. For example, one benefit of using a common group relates to economies of scale. Two separate groups that separately require 10 agents each would typically only require 18 agents from a common pool of agents.
Further, it is difficult, if not impossible for call center management to known how many agents are serving a particular call target. Because of the difficulty of determining agent loading, it is also difficult to project staffing requirements in a shared agent environment.
Where all agents are grouped together, staffing estimates must be based upon an Erlang rate of the organization as a whole. Basing a staffing estimate upon an organization as a whole is subject to large errors. Because of the importance of call handling through ACDs, a need exists for a method of assigning agents which is more flexible than the individual group method, but which may still be staffed based upon Erlang estimates of the individual call groups.
A method is provided for assigning agents of a plurality of agent groups to a agent pool for answering a call based upon a time delay in answering the call. The method includes the steps of designating a first agent group as candidates for answering a call based upon first availability, forming an expanded group of the first group and at least some agents of a second group when the time delay exceeds a threshold and assigning the call to an agent of the expanded group based upon first availability.